<?php

namespace App\Filament\Enums;

use Filament\Support\Contracts\HasLabel;
use JaOcero\RadioDeck\Contracts\HasDescriptions;
use JaOcero\RadioDeck\Contracts\HasIcons;

enum AssetType: string implements HasLabel, HasDescriptions, HasIcons
{
    case Balance = 'balance';
    case Alipay = 'alipay';

    public function getLabel(): ?string
    {
        return match ($this) {
            self::Balance => '余额',
            self::Alipay => '支付宝',
        };
    }

    public function getDescriptions(): ?string
    {
        return match ($this) {
            self::Balance => '使用余额支付',
            self::Alipay => '使用支付宝支付',
        };
    }

    public function getIcons(): ?string
    {
        return match ($this) {
            self::Balance => 'heroicon-m-currency-dollar',
            self::Alipay => '/images/alipay.png',
        };
    }
}
